package jiuxing

type Msg20 struct {
	Tm         []byte
	Plug       byte
	Order      string
	UserID     string
	UserType   uint16
	GroupCode  string
	CtlMode    byte
	CtlParam   uint32
	ChargeMode byte
	StartMode  byte
	StartTime  []byte
	OptCode    string
	BillMode   byte
	Result     byte
	Reson      byte
}

func (msg *Msg20) Decode(b []byte) {
	item := NewByteArray(b)
	msg.Tm = item.GetTimeArray(0)
	msg.Plug = item.GetUint8(6)
	msg.Order = item.GbkString(7, 20)
	msg.UserID = item.GbkString(39, 32)
	msg.UserType = item.GetUint16(71)
	msg.GroupCode = item.GbkString(73, 9)
	msg.CtlMode = item.GetUint8(82)
	msg.CtlParam = item.GetUint32(83)
	msg.ChargeMode = item.GetUint8(87)
	msg.StartMode = item.GetUint8(88)
	msg.StartTime = item.ByteArray(89, 6)
	msg.OptCode = item.GbkString(95, 6)
	msg.BillMode = item.GetUint8(101)
	msg.Result = item.GetUint8(102)
	msg.Reson = item.GetUint8(103)
}
